package com.sxj.springsourcecode.springframework.io;

import com.sxj.springsourcecode.springframework.factory.config.BeanDefinitionRegistry;
import com.sxj.springsourcecode.springframework.io.config.Resource;
import com.sxj.springsourcecode.springframework.io.config.ResourceLoader;

/**
 * @ProjectName: spring-source-code
 * @Package: com.sxj.springsourcecode.springframework.io
 * @ClassName: BeanDefinitionReader
 * @Author: sxj
 * @Description: bean定义的读取器
 * @Date: 2024/2/21 22:43
 * @Version: 1.0.0
 */
public interface BeanDefinitionReader {
    /**
     * 加载bean定义
     * @param location
     */
    void loadBeanDefinitions(String location);

    /**
     * TODO
     * @param resource
     */
    void loadBeanDefinitions(Resource resource);

    /**
     * 获取bean定义的注册器
     *
     */
    BeanDefinitionRegistry getRegistry();

    /**
     * 获取资源加载器
     *
     */
    ResourceLoader getResourceLoader();
}
